\section{Virtualisierung mit KVM unter Gentoo}
Hier werden die Besonderheiten von Gentoo Linux als Gastgebersystem behandelt.
\subsection{Was ist Gentoo?}
Bei Gentoo handelt es sich um eine Metadistribution. Von 'normalen'
Binärdistributionen unterscheidet es sich in zwei wesentlichen Eigenschaften:
Software wird nicht für verschiedene Architekturen vorkompiliert angeboten,
sondern im Quelltext veröffentlicht und direkt auf dem Zielsystem kompiliert.
Daher gibt es auch keine festen Veröffentlichungszyklen neuer Distributionsversionen.
Lediglich ein minimales Live-Basisssystem mit aktueller Software wird regelmäßig
neu veröffentlicht.

\subsubsection{Paketverwaltung}
Um Sofware dennoch einigermaßen komfortabel zu verwalten, besitzt Gentoo eine
erweiterte Paketverwaltung. Die bei Binärdistributionen übliche Funktionalität
wird erweitert um Konfigurationen für den Compiler, sowie eine angepasste
Verwaltung der Abhängigkeiten. Diese ist notwendig da bei Gentoo für jedes
Packet einzeln festgelegt werden kann mit welchen Features es auf dem Zielsystem
kompiliert wird. Was die effektive Zahl der Packetabhänigkeiten maßgeblich beeinflusst.


\subsubsection{Einsatzgebiete}
Gentoo kann mit entsprechendem Aufwand exakt auf das Zielsystem optimiert
werden. Was heutzutage lediglich im Embedded-Bereich oder bei Systemen mit
beschränkten Ressouren oder spezieller Hardware tätsächlich notwendig ist.
\par\bigskip
Im Desktop-Bereich ist es für jene zu empfehlen, die sich einmal mit
dem Innenleben eines Linux-System befassen möchten.
\newpage
\subsection{Die KVM einrichten}
\subsubsection{Kernel konfigurieren}
Der Kernel muss Hardware- und Paravirtualisierung unterstützen.
\begin{tabbing}
\textbf{Als Gastsystem}\\
\=Pro\=cess\=ortype and features --> \+ \\
\><*>Paravirtualized guest support -->\+ \\	
\><*>KVM paravirtualized clock\\
\><*>KVM guest support \- \\
\>[*] Enable KSM for page merging \footnotemark \- \\[3mm]

Device Drivers --> \+ \\
\>[*] Block devices \+ \\
\><M> Virtio block driver (EXPERIMENTAL) \- \\
\>[*] Network device support --> \+ \\
\><M> Virtio network driver (EXPERIMENTAL) \-\- \\[3mm]
\textbf{Als Gastgebersystem}\\
\>[*] Virtualization --> \+ \\
\><M> Kernel-based Virtual Machine (KVM) support \+ \\
\><M> KVM for Intel processors support \\
\><M> KVM for AMD processors support \- \\
\><M> Host kernel accelerator for virtio net (EXPERIMENTAL) \- \\[3mm]

\>Networking support -->\+ \\
\>Networking options -->\+ \\
\><*> 802.1d Ethernet Bridging\\
\><*> 802.1Q VLAN Support \-\- \\[3mm]

Device Drivers -->\+ \\
\>[*] Network device support ---> \+ \\
\><M> Universal TUN/TAP device driver support \-\- \\[3mm]	 
\end{tabbing}
\footnotetext{Optional, verbessert Ausnutzung des Arbeitsspeichers.}
\subsubsection{kvm-qemu installieren}
Nachdem man das System mit dem neuen Kernel neu gestartet hat, kann die
eigentliche Software installiert werden. Dazu ist folgendes Packet notwendig:
\par\smallskip
\begin{compactitem}
\item[\$]emerge --ask app-emulation/qemu-kvm		
\item[\$]emerge --ask app-emulation/bridge-utils \footnotemark
\end{compactitem}
\par\smallskip
\footnotetext{Für virtuelles Netzwerk}

Der Schalter {\itshape --ask} sorgt dafür, dass angezeigt wird welche Pakte mit
welcher Konfiguration installiert werden. In der Datei {\itshape /etc/make.conf} können
die gewünschten USE-Flags entsprechend konfiguriert werden.
